$(() => {
    // 2、下拉类别列表渲染
    function getCategoryList() {
        myAjax('get', '/admin/category/list', {}, (res) => {
            // console.log(res);
            let htmlStr = template('moban', res)
            $('#category').html(htmlStr)
        })
    }
    getCategoryList()

    //3、渲染日期选择组件
    const renderDate = () => {
        layui.use('laydate', function () {
            var laydate = layui.laydate;

            //执行一个laydate实例
            laydate.render({
                elem: '#articleDate' //指定元素,改成项目中的id
            });
        });
    }
    renderDate()
    // 4、初始化富文本编辑器
    const renderRichText = () => {
        tinymce.init({
            selector: '#articleContent',
            // 配置语言为中文
            language: 'zh_CN',
        });
    }
    renderRichText()
    // 发布文章状态标记，发布：‘已发布’，草稿：传空
    let state = ''
    // 给表单绑定提交事件
    $('form').on('submit', function (e) {
        // 阻止表单的默认行为，会刷新页面
        e.preventDefault()
        //   快速获取表单的值
        // 转换成原生，jq没有封装
        let fd = new FormData($('form').get(0))
        // 添加文章状态到fd参数中
        fd.append('state', state)
        // 打印fd，测试
        fd.forEach(function (value, key) {
            console.log({ key, value });
        })
        // 发送ajax请求(用formData提交表单数据，因为参数的原因不能用自己封装的Ajax,💥别忘记写cp组合)
        myAjax('post', '/admin/article/publish', fd, (res) => {
            // console.log(res)
            //  🎡post请求需要填表单的业务，要考虑两种情况：成功和提示
            if (res.code === 200) {
                layer.msg(res.msg, { icon: 1, time: 2000 }, () => {
                    // 提示成功关闭后跳转页面
                    location.href = 'article_list.html'
                });
            } else {
                // 轻提示，不会干扰用户操作的提示
                layer.msg(res.msg, { icon: 3, time: 2000 });
            }
        })
        // $.ajax({
        //     type: 'post',
        //     url: 'http://localhost:8080/api/v1/admin/article/publish',
        //     data: fd,
        //     contentType: false,
        //     processData: false,
        //     headers: {
        //         Authorization: localStorage.getItem('dsj_token')
        //     },
        //     success: (res) => {
        //         // console.log(res)
        //         // 🎡post请求需要填表单的业务，要考虑两种情况：成功和提示
        //         if (res.code === 200) {
        //             layer.msg(res.msg, { icon: 1, time: 2000 }, () => {
        //                 // 提示成功关闭后跳转页面
        //                 location.href = 'article_list.html'
        //             });
        //         } else {
        //             // 轻提示，不会干扰用户操作的提示
        //             layer.msg(res.msg, { icon: 3, time: 2000 });
        //         }
        //     }
        // })
    })

    // 给按钮绑定事件，先触发按钮自己的事件，再冒泡触发表单的提交事件
    $('.btn-add').on('click', function () {
        // 更新标记
        state = '已发布'
    })
})